package com.rede.didiok.common.dto.pay;

import java.math.BigDecimal;
import java.util.Date;

import lombok.Data;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.rede.didiok.common.dto.BaseDto;


/**
 * OrderVO 订单支付相关
 *
 * @author: 陌溪
 * @create: 2022年6月9日23:49:58
 */
@Data
@ToString
public class PayOrderDto extends BaseDto<PayOrderDto> {

    /**
     * 销售订单号
     * j_trade_order_goods_fin.trade_no
     *
     */
    private String orderNo;

    /**
     * 退款单号
     * j_trade_order_goods_fin.trade_no
     *
     */
    private String refundNo;

    /**
     * RankMember唯一oid【自动递增】
     */
    private Integer resourceOid;

    /**
     * 资源标题
     */
    private String  title;

    /**
     * 用户uid
     */
    private String createUserUid;

    /**
     * 操作用户uid
     */
    private String operateUserUid;

    /**
     * 商品uid
     */
    private String resourceUid;

    /**
     * 商品类型
     */
    private String resourceType;

    /**
     * 订单金额（单位分）
     */
    private long fee;

    /**
     * 资源标题
     */
    private String resourceTitle;

    /**
     * 资源描述
     */
    private String summary;

    /**
     * 支付类型:  1: 积分支付， 2：现金支付
     */
    private Integer payType;

    /**
     * 支付方式：0：默认 1: 支付宝, 2: 微信 3: 第三方支付宝 4: 第三方微信
     */
    private Integer payMethod;

    /**
     * 订单状态
     */
    private Integer orderStatus;

    /**
     * 排序字段
     */
    private Integer sort;

    /**
     * 订单金额（单位元）
     */
    private BigDecimal totalPrice;

    /**
     * 报名订单取消的原因
     */
    private String cancelReason;

    /**
     * 下单时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTimeGt;


    /**
     * 报名人员姓名
     */
    private String applyUserName;
    /**
     * 身份证号
     */
    private String idCard;
    /**
     * 性别(1:男2:女)
     */
    private String gender;
    /**
     * 手机号
     */
    private String phone;
    /**
     * 微信号
     */
    private String weChat;
    /**
     * 年龄
     */
    private Integer age;
    /**
     * 备注
     */
    private String remark;
    /**
     * 报名人员个数
     */
    private Integer applyUserNum;
    /**
     * 报名类型(1玩家报名 2领队报名)
     */
    private Integer applyType;

    /**
     * 支付时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

    /**
     * 报名订单取消人姓名
     */
    private String userName;
    /**
     * 活动主办方用户uid
     */
    private String organizerUserUid;

    /**
     * 报名类型(1玩家报名 2领队报名)
     */
    private String applyTypeName;

    /**
     * 商户id
     */
    private String mchId;

    /**
     * 当前时间戳(调用蓝兔支付使用)
     */
    private String timestamp;

    /**
     * 支付通知地址(调用蓝兔支付使用)
     */
    private String notifyUrl;

    /**
     * 回跳地址，支付成功后用户点击【返回商户网站】跳转到该地址，跳转不会携带任何参数，如需携带参数请自行拼接。
     * 示例值：https://www.weixin.qq.com/
     */
    private String returnUrl;

    /**
     * 签名(调用蓝兔支付使用)
     */
    private String sign;
}
